One of the quickest and easiest ways to add a new “bare server”—which is a server not having an operating system—to a network is to plug it into the network and use a deployment server to deploy a disk “image” or setup files of an operating system to the bare server. The bare server saves this image to its hard disk drive or equivalent storage and then reboots. Once it reboots, it will be running with the newly deployed operating system.
Patches to operating systems are deployed frequently and therefore the operating system image goes out-of-date, or stale, very quickly. Regenerating new images or setup files to deploy to bare servers so that they contain the latest patches when they are first booted is time consuming.
Therefore, it is desirable for the newly deployed servers with an otherwise “stale” operating system to be updated immediately upon first post-deployment reboot. After the first post-deployment reboot, it typically acquires the necessary updates via the network, usually from a public network (such as the Internet) or from an intranet server.
However, the network (especially an untrustworthy network such as the Internet) may be susceptible to malicious intrusion, such as a virus, Trojan horse, or other network-based attack. It is not uncommon for a newly deployed “stale” server to be “attacked” by malicious code (like a virus or Trojan horse) via the network before it is able to acquire the necessary updates that would protect it from such attacks.
This is a real possibility, as many malicious programs take less than a second to corrupt a server running an out-of-date operating system. The MS Blaster virus, for instance, can corrupt a stale and unprotected server within tenths of a second.
To partially combat this problem, a bare server can be connected to a deployment server, such as by manually plugging a cable into both servers, or by way of using a dedicated network switch, without being connected to a production or “live” network. Through this cable or dedicated switch, the deployment server can deploy an operating system image to the bare server. The server can then be rebooted with the operating system. Once this is done, updates can be installed, usually by hand with compact disks, to make the operating system, applications and system services optimally secure. Once updated, the server can then be plugged into the network.
While this partial solution may reduce the server's vulnerability to attack, it is time consuming and error prone. An information technology specialist can spend many hours connecting bare servers directly to a deployment server, deploying images, installing updates, disconnecting the servers from the deployment server, and then connecting them to the production or live network. In some ways, this defeats the purpose of automatic software deployment.
Also, to partially combat this problem, the operating system and updates can be manually installed on a bare server, usually with many compact disks, prior to connecting the server to the network. Manually installing an operating system and updates, however, is also time consuming and tedious; it can takes hours for each server. This, too, defeats the purpose of automatic software deployment.
There is, therefore, a need for a secure way to deploy, over a network, an operating system and updates to a bare server, so that it is not susceptible to malicious network-based intrusion.